package hotel.base.oversea.vo.meituan.request.goods;

import hotel.base.oversea.dto.meituan.MtHotelGoodsBreakfastVo;
import hotel.base.oversea.vo.meituan.response.goods.*;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * 美团酒店产品信息（在售产品房型信息）
 *
 * @remark ApiRespVo 产品信息关联了产品早餐信息
 * @Author qiuyy
 * @Date 2020/5/15
 **/
@Data
public class MtHotelGoodsBaseInfoVo {
    /**
     * 酒店ID。
     */
    private String hotelId;
    /**
     * 产品ID。
     */
    private String goodsId;

    /**
     * 产品房型信息 GoodsRoomInfo(产品房型信息列表, 每个产品只对应1个房间信息)
     */
    List<MtHotelGoodsBaseRoomVo> roomInfoList;
    /**
     * 产品名称
     */
    private String goodsName;
    /**
     * 房态：
     * 0 满房
     * 1 可预订
     * 2 不可预订
     * 3 不展示
     */
    private Integer goodsStatus;
    /**
     * 产品类型：
     * 1 全日房
     * 2 钟点房
     */
    private int goodsType;
    /**
     * 认类型：
     * 0 不支持即时确认
     * 1 支持即时确认
     */
    private Integer confirmType;
    /**
     * 平均价格，单位为分。
     */
    private String averagePrice;
    /**
     * 市场价格，单位为分。
     */
    private String originalPrice;
    /**
     * 是否需要用户真实手机号
     * 0 不需要
     * 1 需要
     */
    private Integer needRealTel;
    /**
     * 是否第三方产品。(新增)
     * 0 非第三方
     * 1 第三方
     */
    private Integer thirdParty;

    /**
     * 支付方式 0：预付，2：现付非担保
     */
    private Integer paymentType;

    /**
     * 担保规则信息列表（注：部分非担保产品会根据到店时间来决定是否收取担保金，本期不支持收担保金流程）。
     */
    //private Integer rpGuarantees;

    /**
     * 是否需要身份证 true：需要，false：不需要 -->>很好办后台改为  1 需要 0 不需要
     */
    private Boolean needIdentityCard;


    /**
     * 特殊活动标记，值为1表示活动有效，值为2表示活动无效。
     * lastMinute 今夜特惠
     * timeLimitedSpecial 限时特惠
     * holidaySpecial 假日特惠
     * "goodsActivityMap":{
     * "lastMinute":1
     * }
     */
    private Map<String, Integer> goodsActivityMap;

    /**
     * 产品早餐信息
     */
    private List<MtHotelGoodsBreakfastVo> breakFast;
    /**
     * 产品预订规则信息
     */
    private List<MtHotelGoodsBookRuleVo> bookRules;
    /**
     * 产品取消规则信息
     */
    private List<MtHotelGoodsCancelRuleVo> cancelRules;

    /**
     * 发票信息
     */
    private MtHotelInvoiceInfoVo invoiceInfo;

    /**
     * 产品价格
     */
    private List<MtHotelGoodsPriceBaseDetailVo> priceModels;

    /**
     * 额外字段  真实房型id
     * qyy 20200915
     */
    String roomId;
    /**
     * 额外字段
     * qyy 20200915
     */
    String mtCityId;
    /**
     * 额外字段
     * qyy 20200915
     */
    String mtRoomName;



}
